{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## RUL prediction using boosting\n",
    "\n",
    "In this notebook, we will apply boosting to predict RUL of NASA's turbofan engine dataset FD002. To implement boosting, we will use [XGBoost](https://xgboost.readthedocs.io/en/latest/index.html) library."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import xgboost as xgb\n",
    "\n",
    "from sklearn.metrics import mean_squared_error\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "np.random.seed(783)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Numpy version:  1.18.5\n",
      "Pandas version:  1.0.5\n",
      "XGBoost version:  1.2.0\n"
     ]
    }
   ],
   "source": [
    "print(\"Numpy version: \", np.__version__)\n",
    "print(\"Pandas version: \", pd.__version__)\n",
    "print(\"XGBoost version: \", xgb.__version__)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data Preprocessing\n",
    "\n",
    "We strongly encourage readers to go through the [dataset description and prreprocessing notebook](https://github.com/biswajitsahoo1111/rul_codes_open/blob/master/notebooks/cmapss_notebooks/CMAPSS_data_description_and_preprocessing.ipynb). In that notebook we have explained how data preprocessing functions work with simple examples. In this notebook we will only use those functions. So prior familiarity with these functions is an advantage. Below are the parameters that we will use for data preprocessing:\n",
    "\n",
    "* Degradation model: Piecewise linear\n",
    "* Early RUL: 125\n",
    "* Window length: 1\n",
    "* Shift: 1\n",
    "* Data scaling: No (Tree based methods don't require data scaling)\n",
    "\n",
    "We will calculate two prediction scores on test data. In one case, we will take last 5 examples of test data for engine, calculate their predictions, and finally average those for each engine. In the second case, we will take only the last example of each engine and make predictions. The logic behind taking last 5 examples and averaging their predictions is to make the prediction robust against outliers. Due to some external factor, if our last example happens to be corrupted, its prediction outcome might be far off from the actual one. But if we average predictions from last 5 examples, we will get a more conservative estimate. \n",
    "\n",
    "In the following cell we will show boxplots of each column of training data. That will give us an idea about the values in different columns. If all the values in a column are constant, we drop those columns from our analysis.\n",
    "\n",
    "Readers can download the data from [here](https://ti.arc.nasa.gov/tech/dash/groups/pcoe/prognostic-data-repository/#turbofan). In the following cells, wherever data are read from a folder, readers should change the string to point to the respective folder from their system to run this notebook seamlessly."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x1512 with 21 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_data = pd.read_csv(\"/home/biswajit/data/cmapss_data/train_FD002.txt\", sep= \"\\s+\", header = None)\n",
    "plt.figure(figsize = (16, 21))\n",
    "for i in range(21):\n",
    "    temp_data = train_data.iloc[:,i+5]\n",
    "    plt.subplot(7,3,i+1)\n",
    "    plt.boxplot(temp_data)\n",
    "plt.show()\n",
    "\n",
    "def process_targets(data_length, early_rul = None):\n",
    "    \"\"\" \n",
    "    Takes datalength and earlyrul as input and \n",
    "    creates target rul.\n",
    "    \"\"\"\n",
    "    if early_rul == None:\n",
    "        return np.arange(data_length-1, -1, -1)\n",
    "    else:\n",
    "        early_rul_duration = data_length - early_rul\n",
    "        if early_rul_duration <= 0:\n",
    "            return np.arange(data_length-1, -1, -1)\n",
    "        else:\n",
    "            return np.append(early_rul*np.ones(shape = (early_rul_duration,)), np.arange(early_rul-1, -1, -1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def process_input_data_with_targets(input_data, target_data = None, window_length = 1, shift = 1):\n",
    "    \"\"\"Depending on values of window_length and shift, this function generates batchs of data and targets \n",
    "    from input_data and target_data.\n",
    "    \n",
    "    Number of batches = np.floor((len(input_data) - window_length)/shift) + 1\n",
    "    \n",
    "    **We don't check input dimensions uisng exception handling. So readers should be careful while using these\n",
    "    functions. If input data are not of desired dimension, either error occurs or something undesirable is \n",
    "    produced as output.**\n",
    "    \n",
    "    Arguments:\n",
    "        input_data: input data to function (Must be 2 dimensional)\n",
    "        target_data: input rul values (Must be 1D array)s\n",
    "        window_length: window length of data\n",
    "        shift: Distance by which the window moves for next batch. This is closely related to overlap\n",
    "               between data. For example, if window length is 30 and shift is 1, there is an overlap of \n",
    "               29 data points between two consecutive batches.\n",
    "        \n",
    "    \"\"\"\n",
    "    num_batches = np.int(np.floor((len(input_data) - window_length)/shift)) + 1\n",
    "    num_features = input_data.shape[1]\n",
    "    output_data = np.repeat(np.nan, repeats = num_batches * window_length * num_features).reshape(num_batches, window_length,\n",
    "                                                                                                  num_features)\n",
    "    if target_data is None:\n",
    "        for batch in range(num_batches):\n",
    "            output_data[batch,:,:] = input_data[(0+shift*batch):(0+shift*batch+window_length),:]\n",
    "        return output_data\n",
    "    else:\n",
    "        output_targets = np.repeat(np.nan, repeats = num_batches)\n",
    "        for batch in range(num_batches):\n",
    "            output_data[batch,:,:] = input_data[(0+shift*batch):(0+shift*batch+window_length),:]\n",
    "            output_targets[batch] = target_data[(shift*batch + (window_length-1))]\n",
    "        return output_data, output_targets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def process_test_data(test_data_for_an_engine, window_length, shift, num_test_windows = 1):\n",
    "    \"\"\" This function takes test data for an engine as first input. The next two inputs\n",
    "    window_length and shift are same as other functins. \n",
    "    \n",
    "    Finally it takes num_test_windows as the last input. num_test_windows sets how many examplles we\n",
    "    want from test data (from last). By default it extracts only the last example.\n",
    "    \n",
    "    The function return last examples and number of last examples (a scaler) as output. \n",
    "    We need the second output later. If we are extracting more than 1 last examples, we have to \n",
    "    average their prediction results. The second scaler halps us do just that.\n",
    "    \"\"\"\n",
    "    max_num_test_batches = np.int(np.floor((len(test_data_for_an_engine) - window_length)/shift)) + 1\n",
    "    if max_num_test_batches < num_test_windows:\n",
    "        required_len = (max_num_test_batches -1)* shift + window_length\n",
    "        batched_test_data_for_an_engine = process_input_data_with_targets(test_data_for_an_engine[-required_len:, :],\n",
    "                                                                          target_data = None,\n",
    "                                                                          window_length = window_length, shift = shift)\n",
    "        return batched_test_data_for_an_engine, max_num_test_batches\n",
    "    else:\n",
    "        required_len = (num_test_windows - 1) * shift + window_length\n",
    "        batched_test_data_for_an_engine = process_input_data_with_targets(test_data_for_an_engine[-required_len:, :],\n",
    "                                                                          target_data = None,\n",
    "                                                                          window_length = window_length, shift = shift)\n",
    "        return batched_test_data_for_an_engine, num_test_windows"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processed trianing data shape:  (53443, 1, 21)\n",
      "Processed training ruls shape:  (53443,)\n",
      "Processed test data shape:  (1295, 1, 21)\n",
      "True RUL shape:  (259,)\n"
     ]
    }
   ],
   "source": [
    "test_data = pd.read_csv(\"/home/biswajit/data/cmapss_data/test_FD002.txt\", sep = \"\\s+\", header = None)\n",
    "true_rul = pd.read_csv('/home/biswajit/data/cmapss_data/RUL_FD002.txt', sep = '\\s+', header = None)\n",
    "\n",
    "window_length = 1\n",
    "shift = 1\n",
    "early_rul = 125            \n",
    "processed_train_data = []\n",
    "processed_train_targets = []\n",
    "\n",
    "# How many test windows to take for each engine. If set to 1 (this is the defalut), only last window of test data for \n",
    "# each engine are taken. If set to a different number, that many windows from last are taken. \n",
    "# Final output is the average of output of all windows.\n",
    "num_test_windows = 5     \n",
    "processed_test_data = []\n",
    "num_test_windows_list = []\n",
    "\n",
    "columns_to_be_dropped = [0,1,2,3,4]\n",
    "\n",
    "num_machines = np.min([len(train_data[0].unique()), len(test_data[0].unique())])\n",
    "\n",
    "for i in np.arange(1, num_machines + 1):\n",
    "    \n",
    "    temp_train_data = train_data[train_data[0] == i].drop(columns=columns_to_be_dropped).values\n",
    "    temp_test_data = test_data[test_data[0] == i].drop(columns=columns_to_be_dropped).values\n",
    "    \n",
    "    # Verify if data of given window length can be extracted from both training and test data\n",
    "    if (len(temp_test_data) < window_length):\n",
    "        print(\"Test engine {} doesn't have enough data for window_length of {}\".format(i, window_length))\n",
    "        raise AssertionError(\"Window length is larger than number of data points for some engines. \"\n",
    "                             \"Try decreasing window length.\")\n",
    "    elif (len(temp_train_data) < window_length):\n",
    "        print(\"Train engine {} doesn't have enough data for window_length of {}\".format(i, window_length))\n",
    "        raise AssertionError(\"Window length is larger than number of data points for some engines. \"\n",
    "                             \"Try decreasing window length.\")\n",
    "    \n",
    "    temp_train_targets = process_targets(data_length = temp_train_data.shape[0], early_rul = early_rul)\n",
    "    data_for_a_machine, targets_for_a_machine = process_input_data_with_targets(temp_train_data, temp_train_targets, \n",
    "                                                                                window_length = window_length, shift = shift)\n",
    "    \n",
    "    # Prepare test data\n",
    "    test_data_for_an_engine, num_windows = process_test_data(temp_test_data, window_length = window_length, shift = shift,\n",
    "                                                             num_test_windows = num_test_windows)\n",
    "    \n",
    "    processed_train_data.append(data_for_a_machine)\n",
    "    processed_train_targets.append(targets_for_a_machine)\n",
    "    \n",
    "    processed_test_data.append(test_data_for_an_engine)\n",
    "    num_test_windows_list.append(num_windows)\n",
    "\n",
    "processed_train_data = np.concatenate(processed_train_data)\n",
    "processed_train_targets = np.concatenate(processed_train_targets)\n",
    "processed_test_data = np.concatenate(processed_test_data)\n",
    "true_rul = true_rul[0].values\n",
    "\n",
    "# Shuffle data\n",
    "index = np.random.permutation(len(processed_train_targets))\n",
    "processed_train_data, processed_train_targets = processed_train_data[index], processed_train_targets[index]\n",
    "\n",
    "print(\"Processed trianing data shape: \", processed_train_data.shape)\n",
    "print(\"Processed training ruls shape: \", processed_train_targets.shape)\n",
    "print(\"Processed test data shape: \", processed_test_data.shape)\n",
    "print(\"True RUL shape: \", true_rul.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processed train data shape:  (53443, 21)\n",
      "Processed test data shape:  (1295, 21)\n"
     ]
    }
   ],
   "source": [
    "processed_train_data = processed_train_data.reshape(-1, processed_train_data.shape[2])\n",
    "processed_test_data = processed_test_data.reshape(-1, processed_test_data.shape[2])\n",
    "print(\"Processed train data shape: \", processed_train_data.shape)\n",
    "print(\"Processed test data shape: \", processed_test_data.shape)\n",
    "\n",
    "dtrain = xgb.DMatrix(processed_train_data, label = processed_train_targets)\n",
    "dtest = xgb.DMatrix(processed_test_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\tTrain-rmse:32.63500\n",
      "[50]\tTrain-rmse:20.14598\n",
      "[100]\tTrain-rmse:19.30392\n",
      "[150]\tTrain-rmse:18.88148\n",
      "[200]\tTrain-rmse:18.44345\n",
      "[250]\tTrain-rmse:18.10638\n",
      "[300]\tTrain-rmse:17.79327\n",
      "[350]\tTrain-rmse:17.49239\n",
      "[400]\tTrain-rmse:17.21210\n",
      "[450]\tTrain-rmse:16.88856\n",
      "[499]\tTrain-rmse:16.64730\n"
     ]
    }
   ],
   "source": [
    "num_rounds = 500\n",
    "params = {\"max_depth\":3, \"learning_rate\":1, \"objective\":\"reg:squarederror\"}\n",
    "bst = xgb.train(params, dtrain, num_boost_round = num_rounds, evals = [(dtrain, \"Train\")], verbose_eval = 50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE:  29.25624584877361\n"
     ]
    }
   ],
   "source": [
    "rul_pred = bst.predict(dtest)\n",
    "\n",
    "# First split predictions according to number of windows of each engine\n",
    "preds_for_each_engine = np.split(rul_pred, np.cumsum(num_test_windows_list)[:-1])\n",
    "mean_pred_for_each_engine = [np.average(ruls_for_each_engine, weights = np.repeat(1/num_windows, num_windows)) \n",
    "                             for ruls_for_each_engine, num_windows in zip(preds_for_each_engine, num_test_windows_list)]\n",
    "RMSE = np.sqrt(mean_squared_error(true_rul, mean_pred_for_each_engine))\n",
    "print(\"RMSE: \", RMSE)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With somewhat arbitrary choice of hyperparameters, we obtained an RMSE value of 29.25. But can we do better? To find out better values of hyperparameters, we can do a principled hyperparameter tuning. There are different ways to do hyperparameter search. Here, we will use simple grid search. \n",
    "\n",
    "In grid search, we first define a grid of parameters. Then for each set of parameters, we will fit a 10 xgboost models (as it is 10 fold cross validation). Finally, we will average the result of all folds for a particular parameter choice. The parameter choice that gives best score for cross validation is chosen as the best hyperparameter.\n",
    "\n",
    "Grid search of hyperparameters (with cross validation) is computationally intensive. It might take a long time on a personal computer. If that is the case, readers are advised to comment the next cell and directly use the best hyperparameter values as done in subsequent cells."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "max_depth: 2, eta: 0.01\n",
      "RMSE: 24.726494199999998 in 500 rounds\n",
      "\n",
      "max_depth: 2, eta: 0.1\n",
      "RMSE: 20.2471979 in 500 rounds\n",
      "\n",
      "max_depth: 2, eta: 0.3\n",
      "RMSE: 19.8373334 in 500 rounds\n",
      "\n",
      "max_depth: 2, eta: 0.5\n",
      "RMSE: 19.9229494 in 404 rounds\n",
      "\n",
      "max_depth: 2, eta: 1.0\n",
      "RMSE: 20.3181437 in 166 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.01\n",
      "RMSE: 22.3078426 in 500 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.1\n",
      "RMSE: 19.725744 in 500 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.3\n",
      "RMSE: 19.7661149 in 345 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.5\n",
      "RMSE: 20.039636 in 171 rounds\n",
      "\n",
      "max_depth: 3, eta: 1.0\n",
      "RMSE: 20.7685869 in 98 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.01\n",
      "RMSE: 20.955047099999998 in 500 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.1\n",
      "RMSE: 19.633754200000002 in 472 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.3\n",
      "RMSE: 19.8247151 in 156 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.5\n",
      "RMSE: 20.139445 in 96 rounds\n",
      "\n",
      "max_depth: 4, eta: 1.0\n",
      "RMSE: 20.953582299999997 in 38 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.01\n",
      "RMSE: 20.360697899999998 in 500 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.1\n",
      "RMSE: 19.6358783 in 283 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.3\n",
      "RMSE: 19.9007091 in 77 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.5\n",
      "RMSE: 20.241127 in 46 rounds\n",
      "\n",
      "max_depth: 5, eta: 1.0\n",
      "RMSE: 21.4142453 in 24 rounds\n",
      "\n",
      "Best parameters are: Max_depth= 4, eta= 0.1, num_rounds = 472. Corresponding RMSE: 19.633754200000002\n"
     ]
    }
   ],
   "source": [
    "param_grid = [(max_depth, eta) for max_depth in np.arange(2,6) for eta in np.array([0.01, 0.1, 0.3, 0.5, 1])]\n",
    "\n",
    "min_rmse = np.inf\n",
    "best_params = None\n",
    "params = dict()\n",
    "params[\"objective\"] = \"reg:squarederror\"\n",
    "for max_depth, eta in param_grid:\n",
    "    print(\"max_depth: {}, eta: {}\".format(max_depth, eta))\n",
    "    \n",
    "    params[\"max_depth\"] = max_depth\n",
    "    params[\"eta\"] = eta\n",
    "    \n",
    "    cv_res = xgb.cv(params, dtrain, num_boost_round= num_rounds, early_stopping_rounds= 10, nfold = 10, seed = 43)\n",
    "    \n",
    "    best_rmse_val = cv_res[\"test-rmse-mean\"].min()\n",
    "    best_num_rounds = cv_res[\"test-rmse-mean\"].argmin() + 1\n",
    "    \n",
    "    print(\"RMSE: {} in {} rounds\".format(best_rmse_val, best_num_rounds))\n",
    "    print()\n",
    "    \n",
    "    if best_rmse_val < min_rmse:\n",
    "        min_rmse = best_rmse_val\n",
    "        best_params = (max_depth, eta, best_num_rounds)\n",
    "        \n",
    "print(\"Best parameters are: Max_depth= {}, eta= {}, num_rounds = {}. Corresponding RMSE: {}\".format(best_params[0],\n",
    "                                                                                                    best_params[1],\n",
    "                                                                                                    best_params[2],\n",
    "                                                                                                    min_rmse))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will use the best parameters to train the final regressor. The `num_boost_round` value obtained above is the best value for cross validation. We can take a value that is different from the above number but not very far from it. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE after hyperparameter tuning:  28.97081371247071\n"
     ]
    }
   ],
   "source": [
    "params_tuned = {\"max_depth\":4, \"eta\":0.1, \"objective\":\"reg:squarederror\"}\n",
    "bst_tuned = xgb.train(params_tuned, dtrain, num_boost_round= 550)\n",
    "\n",
    "rul_pred_tuned = bst_tuned.predict(dtest)\n",
    "\n",
    "preds_for_each_engine_tuned = np.split(rul_pred_tuned, np.cumsum(num_test_windows_list)[:-1])\n",
    "mean_pred_for_each_engine_tuned = [np.average(ruls_for_each_engine, weights = np.repeat(1/num_windows, num_windows)) \n",
    "                                   for ruls_for_each_engine, num_windows in zip(preds_for_each_engine_tuned,\n",
    "                                                                                num_test_windows_list)]\n",
    "RMSE_tuned = np.sqrt(mean_squared_error(true_rul, mean_pred_for_each_engine_tuned))\n",
    "print(\"RMSE after hyperparameter tuning: \", RMSE_tuned)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that while prediction, we are predicting RUL values for last 5 examples of every engine. Then we take mean of all 5 predictions for each engine and calculate final RMSE.\n",
    "\n",
    "If instead we wish to take only the last example of every engine to make predictions and calculate RUL, we can do so by taking the last prediction of every engine as calculated before and calcutate RMSE as follows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([   4,    9,   14,   19,   24,   29,   34,   39,   44,   49,   54,\n",
       "         59,   64,   69,   74,   79,   84,   89,   94,   99,  104,  109,\n",
       "        114,  119,  124,  129,  134,  139,  144,  149,  154,  159,  164,\n",
       "        169,  174,  179,  184,  189,  194,  199,  204,  209,  214,  219,\n",
       "        224,  229,  234,  239,  244,  249,  254,  259,  264,  269,  274,\n",
       "        279,  284,  289,  294,  299,  304,  309,  314,  319,  324,  329,\n",
       "        334,  339,  344,  349,  354,  359,  364,  369,  374,  379,  384,\n",
       "        389,  394,  399,  404,  409,  414,  419,  424,  429,  434,  439,\n",
       "        444,  449,  454,  459,  464,  469,  474,  479,  484,  489,  494,\n",
       "        499,  504,  509,  514,  519,  524,  529,  534,  539,  544,  549,\n",
       "        554,  559,  564,  569,  574,  579,  584,  589,  594,  599,  604,\n",
       "        609,  614,  619,  624,  629,  634,  639,  644,  649,  654,  659,\n",
       "        664,  669,  674,  679,  684,  689,  694,  699,  704,  709,  714,\n",
       "        719,  724,  729,  734,  739,  744,  749,  754,  759,  764,  769,\n",
       "        774,  779,  784,  789,  794,  799,  804,  809,  814,  819,  824,\n",
       "        829,  834,  839,  844,  849,  854,  859,  864,  869,  874,  879,\n",
       "        884,  889,  894,  899,  904,  909,  914,  919,  924,  929,  934,\n",
       "        939,  944,  949,  954,  959,  964,  969,  974,  979,  984,  989,\n",
       "        994,  999, 1004, 1009, 1014, 1019, 1024, 1029, 1034, 1039, 1044,\n",
       "       1049, 1054, 1059, 1064, 1069, 1074, 1079, 1084, 1089, 1094, 1099,\n",
       "       1104, 1109, 1114, 1119, 1124, 1129, 1134, 1139, 1144, 1149, 1154,\n",
       "       1159, 1164, 1169, 1174, 1179, 1184, 1189, 1194, 1199, 1204, 1209,\n",
       "       1214, 1219, 1224, 1229, 1234, 1239, 1244, 1249, 1254, 1259, 1264,\n",
       "       1269, 1274, 1279, 1284, 1289, 1294])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "indices_of_last_examples = np.cumsum(num_test_windows_list) - 1\n",
    "indices_of_last_examples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE (Taking only last examples):  29.34758927866068\n"
     ]
    }
   ],
   "source": [
    "preds_for_last_example = np.concatenate(preds_for_each_engine_tuned)[indices_of_last_examples]\n",
    "\n",
    "RMSE_new = np.sqrt(mean_squared_error(true_rul, preds_for_last_example))\n",
    "print(\"RMSE (Taking only last examples): \", RMSE_new)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If you are not convinced by above calculations, take a look at the last section of [this notebook](https://github.com/biswajitsahoo1111/rul_codes_open/blob/master/notebooks/cmapss_notebooks/CMAPSS_FD001_xgboost_piecewise_linear_degradation_model.ipynb)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For CMAPSS data, along with RMSE another metric (S-score) is usually reported in literature. S-score is defined as:\n",
    "\n",
    "$$S= \\sum_{i=1}^N{s_i}$$\n",
    "\n",
    "where, \n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "    s_i=\n",
    "    \\begin{cases}\n",
    "      (e^{-\\frac{d_i}{13}})-1, & \\text{for}\\ d_i < 1 \\\\\n",
    "      (e^{\\frac{d_i}{10}})-1, & \\text{for}\\ d_i \\geq 1\\\\\n",
    "    \\end{cases}\n",
    "  \\end{equation}\n",
    "  $$\n",
    "  \n",
    "We can compute the S-metric as follows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "def compute_s_score(rul_true, rul_pred):\n",
    "    \"\"\"\n",
    "    Both rul_true and rul_pred should be 1D numpy arrays.\n",
    "    \"\"\"\n",
    "    diff = rul_pred - rul_true\n",
    "    return np.sum(np.where(diff < 0, np.exp(-diff/13)-1, np.exp(diff/10)-1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "S-score:  12624.15410556207\n"
     ]
    }
   ],
   "source": [
    "s_score = compute_s_score(true_rul, preds_for_last_example)\n",
    "print(\"S-score: \", s_score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot true and predicted RUL values\n",
    "plt.plot(true_rul, label = \"True RUL\", color = \"red\")\n",
    "plt.plot(preds_for_last_example, label = \"Pred RUL\", color = \"blue\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also plot variable importance score."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:title={'center':'Feature importance'}, xlabel='F score', ylabel='Features'>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "xgb.plot_importance(bst_tuned)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As a final note remember that hyperparameter tuning is more of an art than science. It is possible to obtain better results than what has been obtained here by choosing better set of hyperparameters.\n",
    "\n",
    "For other reproducible results on RUL, interested readers can visit my [project page](https://biswajitsahoo1111.github.io/rul_codes_open). "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "tf_cpu_23",
   "language": "python",
   "name": "tf_cpu_23"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
